Skip to content

revise to use "abstract data model" to unify "abstract syntax" and "data model" #232

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

lisp
Copy link

@lisp lisp commented Aug 10, 2025

this revision introduces the phrase, "abstract data model", to replace "abstract syntax" and "data model".
this permits the intended readers to align this document with usage from other graph modelling domains.
it also better indicates the actual document content.
the text includes neither expressions to specify the abstract relations nor terminals as required by a concrete model.


Preview | Diff

@TallTed TallTed requested review from niklasl, TallTed and pfps August 14, 2025 16:31
<p>This specification, <em>RDF 1.2 Concepts and Abstract Syntax</em>,
defines a data model and related terminology for use in
<p>This specification, <em>RDF 1.2 Concepts and Abstract Model</em>,
defines an abstract model and related vocabulary for use in
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given that "vocabulary" has a rather specific meaning in the context of RDF, I would keep the word "terminology" here.

Suggested change
defines an abstract model and related vocabulary for use in
defines an abstract model and related terminology for use in

NB: arguably, we are also defining an RDF vocabulary (in the rdf: namespace), but I don't think that's what is referred to here.

@w3cbot
Copy link

w3cbot commented Aug 14, 2025

This was discussed during the #rdf-star meeting on 14 August 2025.

View the transcript

w3c/rdf-concepts#232

ora: where are we with abstract data model/syntax issue?

lisp: I was and I did.
… my change was a consequence of listening to comments last week.
… suggested to me that the wording was too ambiguous.
… my first attempt was to pick a term and use it. see reaction.
… that was not appreciated. several concerns.
… pulled back that PR and made another one.

<TallTed> latest is w3c/rdf-concepts#232

<gb> Pull Request 232 revise to use "abstract data model" to unify "abstract syntax" and "data model" (by lisp)

lisp: changes the usages which are about an abstract data model to "abstract data model".
… documented doesn't really have an abstract syntax in it.
… doesn't have concrete data model.
… now a PR with substitutions with "abstract data model" but no reactions so far.

ora: urge everyone to take a look at this.
… want to hear comments

niklasl: I've looked at that. In middle of review.
… I will post review.
… I think it's good to see it spelled out.
… The PR as it stands keeps abstract syntax in one place which is good. Has been there for ~20 years.

pfps: This changes the title of document. That's not a problem for W3C process(?)

pchampin: I don't think it is.

ora: docs identified by URL, not title, I suppose.

pfps: I'm fine with title change.

ora: Considering we do this, should I put a paragraph in the RDF New document informing people about our thinking on this?

<pfps> +1 to put something in RDF New

<gkellogg> +1

ora: let's record an action for me to do that.

<pchampin> +1 to mention this change in rdf-new if we abandon (or tone down) "abstract syntax"

lisp: I devoted no thought to the consequences of this with respect to other documents.
… attempt to be consistent with the term.
… to be consistent, the title had to change.
… with respect to explanations, considering adding paragraph which could go in this document.

ora: might still be a good idea to put something in RDF New.

<niklasl> +1 I have that action in mind.

ACTION: ora to put a note in RDF-new that "abstract syntax" is now "abstract data model"

<TallTed> we probably will need a consistency check across the other documents

<gb> Created action #176

pfps: Every place we refer to this docuemnt, we say "RDF Concepts".
… bibliography has the full title.
… they will change semi-automatically?

pchampin: they should.

pchampin: once a new draft is published.

ora: we don't touch bibliographies.

pfps: nothing has to be changed for title change.

<pchampin> RDF Semantics contains one occurrence of "RDF abstract syntax" that is not generated and would need to be updated

ora: urge everyone to take a look at what James has done.

lisp: in terms of terminology, it's not a casual change.

pchampin: I found one mention of "RDF Abstract Syntax" not generated by resepc.
… in a number of places, we talk about "concrete syntaxes".
… is it a problem? I don't think it is, but might want to consider.

niklasl: I noticed that, too. Perhaps we might want to keep the abstract syntax in more than once place.
… that will be part of the Note. Not part of this PR.

ora: homework for next week.
… if everyone is happy, James can merge.

<TallTed> maybe replace "concrete syntaxes" with "concrete serializations"?

ora: I think it's OK to talk about concrete syntax. Emphasizes we're talking about textual representations.

<pfps> I'm going to change the "abstract syntax" mention in Semantics, as it really means just parts of an RDF graph.

TallTed: maybe replace "concrete syntaxes" with "concrete serializations"?

gkellogg: it feels backwards to me. serializations formed by serializing something out. syntax is the way you write things that can then be parsed into data model.

TallTed: take abstract data model and serialize it into a concrete serialization.

gkellogg: that's correct. but many ways to serialize a graph that would not be the automatic result of running an automatic serializer.

<niklasl> +1 to gkellogg, I think syntax is relevant here.

ora: understand, but sounds nit-picking to me. to clarify, gkellogg are you saying if I write turlte in emacs, I'm not serializing anythign?

gkellogg: depends on definition of "serialization".

ora: suggest everybody think about this. we can bring this up next week.

ora: other PRs?

gkellogg: n-quads and turtle.


Copy link
Contributor

@niklasl niklasl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this can be a useful change. I propose some adjustments to consistently say "data model", and keeping "abstract syntax" in some more places.

which serves to link all RDF-based languages and specifications.
The abstract syntax has two key data structures:</p>
The abstract model has two key data structures:</p>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The abstract model has two key data structures:</p>
The abstract data model has two key data structures:</p>

I think it's important to consistently spell out "data" in "data model", since "model" may refer to domain models (related to (properties and classes in) an interpretation).


<p>The core structure of the abstract syntax is a set of
<p>The core structure of the abstract model is a set of
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<p>The core structure of the abstract model is a set of
<p>The core structure of the abstract data model is a set of

@@ -595,13 +595,13 @@ <h3>RDF Version Announcement</h3>
</section>

<section id="conformance">
<p>This specification, <em>RDF 1.2 Concepts and Abstract Syntax</em>,
defines a data model and related terminology for use in
<p>This specification, <em>RDF 1.2 Concepts and Abstract Model</em>,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<p>This specification, <em>RDF 1.2 Concepts and Abstract Model</em>,
<p>This specification, <em>RDF 1.2 Concepts and Abstract Data Model</em>,

@@ -305,7 +305,7 @@ <h3>RDF Vocabularies and Namespace IRIs</h3>
would be abbreviated as <code>rdf:XMLLiteral</code>.
Note however that such abbreviations are <em>not</em> meant to be processed directly as IRIs,
and are not to be used in syntactic contexts where IRIs are expected.
Note also that [=namespace IRIs=] and [=namespace prefixes=] are not a formal part of the RDF data model.
Note also that [=namespace IRIs=] and [=namespace prefixes=] are not a formal part of the RDF abstract model.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Note also that [=namespace IRIs=] and [=namespace prefixes=] are not a formal part of the RDF abstract model.
Note also that [=namespace IRIs=] and [=namespace prefixes=] are not a formal part of the RDF abstract data model.

<p>This specification, <em>RDF 1.2 Concepts and Abstract Syntax</em>,
defines a data model and related terminology for use in
<p>This specification, <em>RDF 1.2 Concepts and Abstract Model</em>,
defines an abstract model and related vocabulary for use in
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
defines an abstract model and related vocabulary for use in
defines an abstract data model and related vocabulary for use in

@@ -1145,7 +1146,7 @@ <h3>Blank Nodes</h3>
They are always locally scoped to the file or RDF store,
and are <em>not</em> persistent or portable identifiers
for blank nodes. Blank node identifiers are <em>not</em>
part of the RDF abstract syntax, but are entirely dependent
part of the RDF abstract model, but are entirely dependent
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
part of the RDF abstract model, but are entirely dependent
part of the RDF abstract syntax, but are entirely dependent

@@ -1037,7 +1038,7 @@ <h4>Representation of Literals</h4>
In RDF 1.1, `"chat"@fr` and `"chat"@FR` represent two distinct terms,
but implementations may replace either with the other via some form of normalization.
In RDF 1.2, they represent the exact same literal,
i.e., the case difference in the concrete syntax does not propagate into the abstract syntax.
i.e., the case difference in the concrete syntax does not propagate into the abstract model.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
i.e., the case difference in the concrete syntax does not propagate into the abstract model.
i.e., the case difference in the concrete syntax does not propagate into the abstract syntax.

@@ -1008,7 +1009,7 @@ <h4>Representation of Literals</h4>
<p>Some concrete syntaxes MAY support
<dfn data-lt="simple literal" class="export">simple literals</dfn> consisting of only a
<a>lexical form</a> without any <a>datatype IRI</a>, <a>language tag</a>, or <a>base direction</a>.
Simple literals are syntactic sugar for abstract syntax
Simple literals are syntactic sugar for data model
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Simple literals are syntactic sugar for data model
Simple literals are syntactic sugar for abstract syntax

@@ -877,7 +878,7 @@ <h3>IRIs</h3>
An IRI reference is common usage of an Internationalized Resource Identifier.
An IRI reference refers to either a resolved <a>IRI</a> or <a>relative IRI reference</a>,
as described by the <em>IRI-reference</em> production in <a href="#iri-abnf" class="sectionRef"></a>.
The abstract syntax uses only fully resolved <a>IRIs</a>.
The abstract model uses only fully resolved <a>IRIs</a>.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The abstract model uses only fully resolved <a>IRIs</a>.
The abstract syntax uses only fully resolved <a>IRIs</a>.

@@ -859,7 +860,7 @@ <h3>IRIs</h3>
<a data-cite="I18N-GLOSSARY#dfn-code-point" class="lint-ignore">Unicode code points</a>,
as in Simple String Comparison in
<a data-cite="rfc3987#section-5.3.1">section 5.3.1</a> of [[!RFC3987]].
(This is done in the abstract syntax, so the IRIs are resolved
(This is done in the abstract model, so the IRIs are resolved
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
(This is done in the abstract model, so the IRIs are resolved
(This is done in the abstract syntax, so the IRIs are resolved

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants